目录
  1. 1. 速记原则
  2. 2. 一、Agentic Loop —— 7 步口诀
  3. 3. 二、工具权限 —— 3 层口诀
  4. 4. 三、System Prompt —— 5 层口诀
  5. 5. 四、Session 持久化 —— 双轨口诀
  6. 6. 五、上下文压缩 —— 2 机制口诀
  7. 7. 六、多 Agent 协调 —— 2 模式 3 协议
  8. 8. 七、MCP 协议 —— 3 能力 2 传输
  9. 9. 八、流式 SSE 处理 —— 4 要点
  10. 10. 九、错误重试策略 —— 4 分类
  11. 11. 十、Prompt Cache —— 2 数字
  12. 12. 十一、LLM 理论速记
    1. 12.1. Transformer 核心(3 个必背公式概念)
    2. 12.2. RLHF 三步(口诀:「监奖强」)
    3. 12.3. DeepSeek 特色(面试必备)
  13. 13. 十二、Python 异步速记
  14. 14. 十三、算法速记(必写 5 题)
    1. 14.1. LRU Cache —— 口诀:「哈希链,头新尾旧」
    2. 14.2. 令牌桶 —— 口诀:「时间差补桶,取多则等」
    3. 14.3. 滑动窗口限流 —— 口诀:「队列删旧,长度判限」
    4. 14.4. 一致性哈希 —— 口诀:「虚节点散,顺时针找」
    5. 14.5. Top-K —— 口诀:「最小堆,大于堆顶才换」
  15. 15. 十四、系统设计答题模板
  16. 16. 十五、高频数字速记表
  17. 17. 十六、30 分钟速记计划
  18. 18. 十七、面试前 10 分钟最后检查
【Claude Code源码剖析】番外-面试速记口诀手册 — 30 分钟过一遍,考场秒提取

配合 28-面试题全集与岗位需求.md 使用。本文件只有口诀+关键词+数字,不展开解释。
遇到不理解的条目,去主文档查完整答案再回来背。


速记原则

数字锚定法:每个知识点绑定一个数字(3层、5步、2机制)
关键词串联法:用 → 连接步骤,形成脑中走一遍的流程
对比记忆法:A vs B 两两对比,记住差异点
场景触发法:记住"什么时候用X而不是Y"而非定义

一、Agentic Loop —— 7 步口诀

口诀:「输构调解有工无停」

输 → 用户输入进入 query()
构 → 构建 System Prompt(工具列表 + 权限 + 记忆)
调 → 调用 Anthropic API(流式 SSE)
解 → 解析流(text_delta 积累 / tool_use 识别)
有 → 有工具调用?→ 权限检查 → 并行执行 → 构造 tool_result → 回「调」
无 → 无工具调用?→ 输出最终文本
停 → Loop 结束(3 种情况:无 tool_use / 轮次上限 / AbortController)

追问速答:

  • Loop 何时终止?→ 3 无:无 tool_use / 无更多轮 / 无信号(被 abort)
  • 工具怎么并行?→ Promise.all(toolCalls.map(...)) 但 computer-use 有全局锁

二、工具权限 —— 3 层口诀

口诀:「静动人,快中慢」

静 → Layer 1 静态白名单(allowedTools 配置)→ 直接通过,最快
动 → Layer 2 动态路径/命令检查(checkPermission)→ 规则匹配
人 → Layer 3 用户人工确认(危险操作弹窗)→ 等待,最慢

3 态:Allow / Deny / Ask(记住不是 Yes/No,是三态

YOLO 模式 = bypass Layer 2 + Layer 3(全自动批准,危险!)


三、System Prompt —— 5 层口诀

口诀:「身工规忆境」(越靠前越稳定 → 越容易缓存)

身 → L1 Core Identity(最稳定,永远缓存)
工 → L2 Tool Definitions(工具列表变化时失效)
规 → L3 Project Rules(CLAUDE.md 内容)
忆 → L4 Memory(MEMORY.md,会话级缓存)
境 → L5 Dynamic Context(最不稳定,每次更新)

Prompt Cache 原则:稳定内容放前面,动态内容放后面 → 最大化 prefix match 长度


四、Session 持久化 —— 双轨口诀

口诀:「JSONL 不丢,墓碑判活死」

轨道 1 — JSONL(只追加,不覆盖):
位置:~/.claude/projects/<slug>/<sessionId>.jsonl
格式:每条消息一行 JSON
特点:天然崩溃安全(写失败不破坏已有数据)

轨道 2 — Tombstone 墓碑机制:
正常退出 → 写墓碑文件("我正常结束了")
异常崩溃 → 无墓碑
下次启动 → 无墓碑 → 触发恢复流程

恢复 3 步:读 JSONL → 重建 messages → 从断点继续(不从头)


五、上下文压缩 —— 2 机制口诀

口诀:「预算警告防,SNIP 删减治」

预防(Token Budget):
→ 监控 token 使用量
→ 达到阈值(如 70%)→ system prompt 注入提示告知模型
→ 模型主动精简输出

治疗(SNIP 压缩):
→ 触发条件:窗口即将溢出
→ 策略:system prompt + 最新 N 轮 + 重要 tool results 保留
→ 被删内容替换为 [SNIP: N messages omitted]
→ 对 API 透明(模型不知道被删了)

六、多 Agent 协调 —— 2 模式 3 协议

2 模式

inProcessRunner  = 同进程,共享内存,快,适合信任的子 Agent
SubprocessRunner = 子进程,隔离,慢,适合第三方插件 / MCP Server

Swarm 3 协议(CC 的实现):

1. TeamFile   → Leader 写 plan.md,Teammate 认领任务(文件即协调)
2. Mailbox → teammail/<agentId>/inbox.json(类 Actor 消息传递)
3. PermSync → Teammate 危险操作需经 Leader 信道审批(单一权限 gate)

口诀:「文件邮箱权集中」


七、MCP 协议 —— 3 能力 2 传输

3 能力(口诀:工资提):

工 → Tools(工具,模型可调用的函数)
资 → Resources(资源,按 URI 读取的数据)
提 → Prompts(提示模板,预定义 prompt 片段)

2 传输

stdio  → 本地子进程(CC 默认,零网络开销)
SSE → 远程 HTTP(适合多客户端共享的服务端工具)

与 REST API 的区别(一句话):

MCP = 工具自描述 + 模型动态发现 + Schema 驱动调用;REST = 人工调用,模型不能自主发现


八、流式 SSE 处理 —— 4 要点

口诀:「缓解错终」

缓 → buffer 处理跨 chunk 的不完整行(不能直接 split \n)
解 → JSON.parse 捕获异常,格式错误不中断整个流
错 → 网络中断 → 重试;429 → retry-after header;529 → 3 次上限
终 → [DONE] 标记流结束

手写模板

buffer += decoder.decode(chunk, { stream: true })
const lines = buffer.split('\n')
buffer = lines.pop()! // 保留最后不完整行
for (const line of lines) {
if (line.startsWith('data: ')) yield JSON.parse(line.slice(6))
}

九、错误重试策略 —— 4 分类

口诀:「429 等,529 分,4xx 停,网络重」

429(Rate Limit)  → 指数退避 + 读 Retry-After header
529(过载) → 前台最多 3 次;持久化模式无限重试(上限 6 小时)
其他 4xx(客户端) → 不重试(请求本身有问题)
网络超时/5xx → 指数退避(500ms × 2^n,上限 32s,±25% 随机抖动)

十、Prompt Cache —— 2 数字

命中后速度:快 5-10 倍
命中后成本:降低 90%(cache_read 价格 = input_price × 0.1)

触发条件:请求的 system prompt 前缀与上一次相同 → 命中


十一、LLM 理论速记

Transformer 核心(3 个必背公式概念)

1. Self-Attention:Attention(Q,K,V) = softmax(QK^T / √d_k) × V
→ 分母 √d_k 是为了防止 softmax 饱和(梯度消失)

2. KV Cache:推理时缓存已计算的 K、V 矩阵
→ 推理加速的核心(避免重复计算历史 token)

3. RoPE 位置编码:旋转矩阵,天然支持长上下文外推
→ DeepSeek 系列和 LLaMA 系列都用 RoPE

RLHF 三步(口诀:「监奖强」)

监 → SFT(监督微调):用人类示范数据训练初始模型
奖 → 奖励模型(Reward Model):用人类偏好比较数据训练打分器
强 → PPO(强化学习):用奖励模型的打分优化语言模型

DeepSeek 特色(面试必备)

MoE 口诀:「稀激路专」

稀 → 稀疏激活(每次只激活部分专家,节省计算)
激 → Expert 数量大,激活数量少(如 256 个专家,每次激活 8 个)
路 → Router 负责将 token 路由到对应专家
专 → 专家分工(不同专家专注不同类型的知识)

MLA(Multi-head Latent Attention)

目的:压缩 KV Cache 显存占用
方法:将 K、V 投影到低维潜空间再还原
效果:KV Cache 减少 75%+ 同时保持精度

Reasoning 模型(DeepSeek-R1)口诀:「思链奖,拒蒸馏」

思 → 让模型生成 Chain-of-Thought 思维链
链 → 思维链在 <think> 标签内,不计入最终输出
奖 → GRPO 强化学习,正确答案给正奖励
拒 → 拒绝错误解法(通过比较多个采样)
蒸 → 知识蒸馏到小模型(R1-Distill 系列)

十二、Python 异步速记

asyncio 4 件套(面试必写):

# 1. gather(并发等所有)
results = await asyncio.gather(task1(), task2(), return_exceptions=True)

# 2. Semaphore(限并发)
sem = asyncio.Semaphore(5)
async with sem: await call_api()

# 3. timeout(超时)
async with asyncio.timeout(30): await long_task()

# 4. TaskGroup(取消传播,Python 3.11+)
async with asyncio.TaskGroup() as tg:
t1 = tg.create_task(work1())
t2 = tg.create_task(work2())
# 任一任务失败 → 其他任务自动取消

十三、算法速记(必写 5 题)

LRU Cache —— 口诀:「哈希链,头新尾旧」

class LRU:
# 数据结构:dict(O(1) 查找)+ 双向链表(O(1) 移动)
# get:找到 → 移到链表头
# put:存在 → 更新值+移头;不存在 → 插头;超容 → 删尾
pass

令牌桶 —— 口诀:「时间差补桶,取多则等」

def consume(self, tokens):
now = time.time()
# 1. 计算时间差 → 补充令牌(不超桶上限)
self.tokens = min(self.capacity, self.tokens + (now - self.last) * self.rate)
self.last = now
# 2. 令牌够 → 扣除;不够 → 拒绝或等待
if self.tokens >= tokens:
self.tokens -= tokens; return True
return False

滑动窗口限流 —— 口诀:「队列删旧,长度判限」

def is_allowed(self, user_id):
now = time.time()
q = self.windows[user_id] # deque
# 删除超出时间窗口的请求
while q and q[0] < now - self.window: q.popleft()
if len(q) < self.limit: q.append(now); return True
return False

一致性哈希 —— 口诀:「虚节点散,顺时针找」

# 关键:150 个虚节点防倾斜
# 添加:hash(node+i) for i in range(150) → sorted ring
# 查找:bisect_right(ring, hash(key)) % len(ring) → 顺时针最近节点

Top-K —— 口诀:「最小堆,大于堆顶才换」

import heapq
def top_k(nums, k):
heap = nums[:k]
heapq.heapify(heap) # 建 k 大小的最小堆
for n in nums[k:]:
if n > heap[0]: # 比堆顶大 → 替换
heapq.heapreplace(heap, n)
return heap # O(N log K)

十四、系统设计答题模板

口诀:「假架存容监」(5 步必说)

假 → 先说假设(QPS 多少?数据量多大?延迟要求?)
架 → 画架构图(不要一上来就细节)
存 → 数据存储(怎么持久化?分层缓存?)
容 → 容错设计(崩溃恢复?超时重试?限流降级?)
监 → 可观测性(metrics/tracing/logging 三件套)

面试加分句型

  • “Claude Code 的 X 模块就是这样设计的,原因是…”
  • “这里有个 trade-off:A 方案快但无法恢复,B 方案慢但崩溃安全…”
  • “我们可以从 metrics 出发定位瓶颈,而不是盲目优化…”

十五、高频数字速记表

数字 记忆点
3 权限三态(Allow/Deny/Ask)/ 重试次数上限(529 前台)/ Agentic Loop 终止条件
5 System Prompt 5 层 / 系统设计答题 5 步(假架存容监)
2 上下文压缩 2 机制(Budget + SNIP)/ Session 持久化 2 轨道 / MCP 传输 2 种
7 Agentic Loop 7 步(输构调解有工无停)
85% 上下文压缩触发阈值(AUTOCOMPACT_THRESHOLD)
90% Prompt Cache 命中省成本比例
5-10× Prompt Cache 命中后速度提升
32s 重试退避最大等待时间上限
6h 持久化模式 529 重试时间上限(PERSISTENT_RESET_CAP_MS)
150 一致性哈希虚节点数量(防倾斜)
√d_k Attention 除以它防 softmax 饱和

十六、30 分钟速记计划

分钟 01-05:读完一~四(Agentic Loop + 权限 + SystemPrompt + Session)
分钟 06-10:读完五~八(压缩 + 多Agent + MCP + 流式)
分钟 11-15:读完九~十一(重试 + Cache + LLM理论)
分钟 16-20:读完十二~十三(Python异步 + 5道算法)
分钟 21-25:读完十四~十五(设计模板 + 数字表)
分钟 26-30:闭眼口述 Agentic Loop 7 步 + 权限 3 层 + SystemPrompt 5 层

十七、面试前 10 分钟最后检查

闭眼能说出(不看文档):

  • Agentic Loop 7 步口诀:「输构调解有工无停」
  • 权限 3 层:「静动人,快中慢」
  • SystemPrompt 5 层:「身工规忆境」
  • Session 双轨:JSONL 只追加 + 墓碑判崩溃
  • 上下文压缩 2 机制:预算警告 + SNIP 删减
  • MCP 3 能力:「工资提」(工具/资源/提示)
  • RLHF 3 步:「监奖强」
  • MoE 核心:「稀激路专」
  • 系统设计 5 步:「假架存容监」
  • Top-K 时间复杂度:O(N log K),最小堆实现
打赏
  • 微信
  • 支付宝

评论